package com.hualian.system.service;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.hualian.system.common.Constants;
import com.hualian.system.common.SystemParameter;
import com.hualian.system.mapper.SystemMapper;

@Service
public class SystemService {
	@Autowired
	private SystemMapper systemMapper;

	/**
	 * 根据编码获取 系统参数的值
	 * 
	 * @param code
	 * @return
	 */
	public String getParameterByCode(String code) {
		return systemMapper.getParameterByCode(code);
	}
	
	/**
	 * 获取所有的 系统参数
	 * 
	 * @return
	 */
	public List<Map<String, Object>> getAllParameters() {
		return systemMapper.getAllParameters();
	}

	/**
	 * 初始化系统参数    系统启动的时候执行一次,变更系统参数的时候再执行一次
	 */
	public void initSystemParameters() {

		//先清空系统参数Map
		SystemParameter.clearSystemParameters();
		
		List<Map<String, Object>> list = this.getAllParameters();
		Map<String, Object> parameterMap = new HashMap<String, Object>();
		for (Map<String, Object> map : list) {
			parameterMap.put(map.get(Constants.SYSTEM_PARAMETER_CODE).toString(), map.get(Constants.SYSTEM_PARAMETER_VALUE));
		}
		//给系统参数Map赋值
		SystemParameter.setSystemParameters(parameterMap);
	}

	

}
